查看原文
其他

进阶篇丨如何设计捕鱼达人游戏中的概率

2016-07-01 云无 Gad-腾讯游戏开发者平台
一款捕鱼类游戏里,单纯的计算一次命中率,虽然感受会很不错,能够给玩家一种纯粹看运气的感觉。但是对于我们整个游戏,乃至平台,其实是非常不好控制的,纯概率这种东西,不管用在哪里,都会有意想不到的效果,有可能是负作用,也有可能是正,把所有的收入寄托在纯概率上面,很显然不是明智的选择。
所以在这里,我们需要给这层概率增加一个所谓的“保底”,用来对这次概率进行修正,已达到我们想要的目的。从这里开始,首先引入一个概念,叫“库存”。
          顾名思义,如果上面的水杯是一个仓库,里面的水就可以看做库存,当水杯水满的时候,则会溢出,空的时候则不会,同理,在游戏中库存装的是整个场次,房间,或者平台的储备的游戏币,然后我们根据这个游戏币的数量范围,来确定修正概率的参数,从而完成对于玩家的控制。
库存增加和减少,都会小幅度的影响玩家的命中率,当库存减少时,玩家命中率会逐渐降低,极限情况下则会命中率变为0.库存增加时,玩家命中率则缓慢上升,直到将库存消耗到正常值或者正常值以下,命中率则回归正常。
那么这个库存该怎么做,才能达到我们想要的效果呢?
方法有很多种,先说说最常见的,先从公式处着手,上一篇文章中的公式是这样的:命中率=参数1/鱼分

然后我们在这个公式中再添加一个参数2或者参数N,也就是库存的对应参数,然后变成:命中率=参数1/鱼分*参数2

这样可以通过改变参数2来调整命中率,例如参数2=1.2,最后命中率则上升了20%,玩家就会更加容易打中大鱼。若参数2=0.8,命中率则变成原来的0.8倍,玩家的命中机会则明显降低,这样的控制最为简单有效。
这里扩展一下,通常一个公式中有很多参数,我们还可以添加一个参数3,用来控制单个玩家命中率,从而达到更深层次的概率控制,不过这里只讲库存,就不延伸了。
讲了公式参数之后,下面可以看看获取参数的条件。首先确定一下库存的增加与减少,理论上来说,玩家每次发射子弹,如果没打中鱼,这个消耗的金币则计入库存之中,即为库存增加。玩家每发子弹如果打中鱼,获取的奖金则从库存中扣除。
从这里可以想象一下,如果100个玩家同时在一个大房间玩捕鱼,每个人的子弹,命中或者不中都会对库存产生或多或少的影响,也就是玩家之间其实是互相博弈,我从这只鱼身上拿了1000金币,则需要其他玩家合力填1000金币的坑,才能保证库存不降。
                 由此,我们要给库存分为很多个档次,每个档次的库存值不同,对应的参数也应该不同。简单举个例子

随手写的数字,实际上工作中,我们需要根据不同的场次,不同的倍率,以及玩家数量规模来确定库存的基础大小,这里设计需要一定的经验以及数据的支撑(我自身是用一个能够勉强过得去的公式,得出的库存规模数据,用人数、倍率场次等作为参数来确定最后值,如果经验不足,可以考虑直接开几千个机器人试!),如果玩家数量与库存基础规模不匹配,则会造成玩家赢得太多,或者输的太多的情况,感受不好且十分明显,具体原因请自己思考。
以上则是此类游戏的一项保底设计方法,也是最简单有效的。优点很明显,控制力度强,而且可以让整个平台的玩家输赢都在我们自己的控制范围之内,缺点也很多,首先是库存变化的时候,系数改变能让玩家明显感觉到命中率降低或者增高了,也不能控制单个玩家的命中率等等,为了弥补这些缺点,我们则需要下一层保底来保证玩家感受上不足的缺憾。

至于怎么做,如果还有很多人想继续看下去,可以留下评论,我会找时间补上下一章进阶的内容。


PS:请不要盲目借鉴其他游戏的方法,一切根据实际情况来,不管是这类游戏还是传统游戏。如果做不好库存或者保底,宁可不要。
近期热文:论道课堂笔记 | DNF国服8年,我们解决了制约游戏发展的7大问题游戏圈健康调查报告:这些病成了最普遍的问题
腾讯游戏开发者平台长按,识别二维码,加关注
经验分享丨项目实践项目孵化丨渠道发行做有梦想的游戏人-GAME AND DREAM-

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存